package com.ziytek.web.citizen.service.itf;

import com.ziytek.web.citizen.model.req.BatteryDetailsHistoryQueryReq;
import com.ziytek.web.citizen.model.req.BatteryDetailsQueryReq;
import com.ziytek.web.citizen.model.rsp.BatteryDetailsRsp;

/**
 * @author fenghx
 * @version v1.0
 * @className QueryRealQueryService
 * @description 功能描述
 * @date 2023/6/30 14:41
 **/
public interface BatteryDetailsQueryService {
    /**
     * 电池详情数据查询
     *
     * @param request 查询请求参数
     * @return BatteryDetailsRsp 查询结果
     */
    BatteryDetailsRsp batteryDetailsQuery(BatteryDetailsQueryReq request);

    /**
     * 电池详情历史数据查询
     *
     * @param request 查询请求参数
     * @return BatteryDetailsRsp 查询结果
     */
    BatteryDetailsRsp batteryDetailsHistoryQuery(BatteryDetailsHistoryQueryReq request);

    /**
     * 电池详情数据查询
     *
     * @param cabinetNo 机柜号
     * @param door      门
     * @param lineNo    行数
     * @param channelNo 通道号
     * @param pageNum   页数
     * @param pageSize  每页条数
     * @return BatteryDetailsRsp 查询结果
     */
    BatteryDetailsRsp batteryDetailsQuery(String cabinetNo, String door, Integer lineNo, Integer channelNo, Integer pageNum, Integer pageSize);

    /**
     * 电池详情数据查询
     *
     * @param cabinetNo 机柜号
     * @param door      门
     * @param lineNo    行数
     * @param channelNo 通道号
     * @param at   累计时间
     * @return BatteryDetailsRsp 查询结果
     */
    BatteryDetailsRsp batteryDetailsQueryByAt(String cabinetNo, String door, Integer lineNo, Integer channelNo, Long at);

}
